home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-28 | 2.5 KB | 97 lines |
- 10 'COILTAP - Tapped Coils - 26 MAY 95 rev. 27 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 COLOR 7,0,1
- 50 UL$=STRING$(80,205)
- 60 U$="####.###"
- 70 U1$="###.#"
- 80 U2$="###.##"
- 90 E$=STRING$(80,32)
- 100 PI=3.14159
- 110 '
- 120 '.....start
- 130 CLS
- 140 COLOR 15,2
- 150 PRINT " COIL TAP CALCULATOR";TAB(57);"by George Murphy VE3ERP ";
- 160 COLOR 1,0:PRINT STRING$(80,223);
- 170 COLOR 7,0
- 180 Z=7
- 190 PRINT TAB(Z);
- 200 PRINT "This program calculates locations of taps for specific inductances"
- 210 PRINT TAB(Z);
- 220 PRINT "on any close-wound single-layer air-core coil."
- 230 PRINT UL$;
- 240 PRINT " Press number in < > to choose standard units of measure:"
- 250 PRINT UL$;
- 260 PRINT " < 1 > Metric"
- 270 PRINT " < 2 > U.S.A./Imperial"
- 280 PRINT UL$;
- 290 PRINT " or Press < 0 > to exit....."
- 300 Z$=INKEY$:IF Z$=""THEN 300
- 310 IF Z$="0"THEN CLS:RUN EX$
- 320 IF Z$="1"THEN UM=25.4:UM$="mm.":GOTO 350
- 330 IF Z$="2"THEN UM=1:UM$="in.":GOTO 350
- 340 GOTO 300
- 350 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 360 GOTO 430
- 370 '
- 380 '.....format input line
- 390 USIN$="####.###":LOCATE CSRLIN-1:PRINT SPC(7);
- 400 LOCATE CSRLIN,47:PRINT STRING$(7,".");USING U$;Z;
- 410 RETURN
- 420 '
- 430 '.....initial inputs
- 440 PRINT " ENTER: Coil Diameter............................(";UM$;")";:INPUT D
- 450 IF D=0 THEN LOCATE CSRLIN-1:PRINT E$;:LOCATE CSRLIN-1:GOTO 440
- 460 Z=D:GOSUB 380:PRINT " ";UM$:D=D/UM
- 470 INPUT " ENTER: Number of turns..............................";T
- 480 IF T=0 THEN LOCATE CSRLIN-1:PRINT E$;:LOCATE CSRLIN-1:GOTO 470
- 490 Z=T:GOSUB 380
- 500 PRINT " ENTER: Length of coil...........................(";UM$;")";:INPUT LG
- 510 IF LG=0 THEN LOCATE CSRLIN-1:PRINT E$;:LOCATE CSRLIN-1:GOTO 500
- 520 Z=LG:GOSUB 380:PRINT " ";UM$:LG=LG/UM
- 530 UH=(D^2*T^2)/(18*D+40*LG)
- 540 PRINT " Inductance of whole coil.....................";USING U$;UH;
- 550 PRINT " >H"
- 560 SP=LG/T:S=SP*UM 'turn spacing
- 570 PRINT " Turns spacing (c.c.).........................";USING U$;S;
- 580 PRINT " ";UM$
- 590 PRINT UL$;
- 600 '
- 610 INPUT " ENTER: Number of taps required......................";Q
- 620 LOCATE CSRLIN-1:PRINT E$;:LOCATE CSRLIN-1
- 630 DIM T(Q),U(Q)
- 640 FOR Z=1 TO Q
- 650 PRINT " ENTER: INDUCTANCE (>H) at tap no.";Z;:INPUT U
- 660 IF U>=UH THEN BEEP:GOTO 650
- 670 U(Z)=U
- 680 NEXT Z
- 690 VIEW PRINT 9 TO 24:CLS:VIEW PRINT:LOCATE 9
- 700 FOR Z=1 TO Q
- 710 U=U(Z)
- 720 L=0.1 'initial distance to tap
- 730 NT=L/SP 'number of turns
- 740 UZ=(D^2*NT^2)/(18+D+40*L)
- 750 IF UZ<U THEN L=L+0.01:GOTO 730
- 760 PRINT TAB(9);USING U1$;U;:PRINT " >H tap is";USING U1$;NT;
- 770 PRINT " turns (";USING U2$;L*UM;
- 780 PRINT " ";UM$;") from input end of coil"
- 790 NEXT Z
- 800 GOSUB 840
- 810 ERASE T,U
- 820 GOTO 120 'start
- 830 '
- 840 'HARDCOPY
- 850 GOSUB 960:LOCATE 25,2:COLOR 14,6
- 860 PRINT " Press 1 to print screen, 2 to print screen & ";
- 870 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 880 Z$=INKEY$:IF Z$="3"THEN GOSUB 960:RETURN
- 890 IF Z$="1"OR Z$="2"THEN GOSUB 960:GOTO 910
- 900 GOTO 880
- 910 FOR QX=1 TO 24:FOR QY=1 TO 80
- 920 LPRINT CHR$(SCREEN(QX,QY));
- 930 NEXT QY:NEXT QX
- 940 IF Z$="2"THEN LPRINT CHR$(12)
- 950 GOTO 850
- 960 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-